#pragma once

#pragma warning(disable : 4996)
#include <boost/exception/all.hpp>



struct exception_base : virtual std::exception, virtual boost::exception{};

struct scanner_exception : virtual exception_base{};

struct grammar_exception : virtual exception_base{};


typedef boost::error_info<struct tag_error_message, std::string> error_message;